$(function () {
	toastr.options.positionClass = 'toast-top-center';
	var InterValObj; //timer变量，控制时间
    var curCount;//当前剩余秒数
    var code = ""; //验证码
    var codeLength = 7;//验证码长度
    var regphone = "";
	$('#regForm').bootstrapValidator({
      live: 'enabled',  
      message: 'This value is not valid',
      feedbackIcons: {
          valid: 'glyphicon glyphicon-ok',
          invalid: 'glyphicon glyphicon-remove',
          validating: 'glyphicon glyphicon-refresh'
      },
      fields: {
           userName: {
              message: '用户名是无效的',
              validators: {
                  notEmpty: {
                      message: '用户名是必需的，不能为空'
                    	  
                  },
                  stringLength: {
                      min: 4,
                      max: 12,
                      message: '用户名必须大于4且小于12个字符'
                  },
                  regexp: {
                      regexp: /^[a-zA-Z0-9_\.]+$/,
                      message: '用户名只能由字母、数字、点和下划线组成'
                  },
                  remote: {
                      type: 'POST',
                      url: 'user/checkRegColumn',
                      delay : 1000,//每输入一个字符，就发ajax请求，服务器压力还是太大，设置2秒发送一次ajax（默认输入一个字符，提交一次，服务器压力太大）
                      message: '该用户名已经被注册！'
                  }  
              }
          },
          phone: {
        	  validators: {
                  notEmpty: {
                      message: '手机号码不能为空'
                  },
                  stringLength: {
                      min: 11,
                      max: 11,
                      message: '请输入11位手机号码'
                  },
                  regexp: {
                      regexp: /^1[34578]\d{9}$/,
                      message: '请输入正确的手机号码'
                  },
                  remote: {
                      type: 'POST',
                      url: 'user/checkRegColumn',
                      delay : 1000,//每输入一个字符，就发ajax请求，服务器压力还是太大，设置2秒发送一次ajax（默认输入一个字符，提交一次，服务器压力太大）
                      message: '该手机号已被注册！'
                  }
              }
          },
          pwd: {
              message: '密码是无效的',
              validators: {
                  notEmpty: {
                      message: '密码不能为空'	  
                  },
                  stringLength: {
                      min: 6,
                      max: 18,
                      message: '密码必须大于6且小于18个字符'
                  },
                  regexp: {
                      regexp: /^[a-zA-Z0-9_\.]+$/,
                      message: '密码只能由字母、数字、点和下划线组成'
                  },
              }
          },
          pwd2: {
        	  validators: {
                  notEmpty: {
                      message: '再次输入的密码不能为空'
                  },
                  identical: {
                      field: 'pwd',
                      message: '两次输入的密码不一致'
                  }
              }
          }
      }
  }).on('success.form.bv', function(e) {//点击提交之后    
	  if($("#regDxyzm").val()==""){
  		swal("短信验证码不能为空！！！"," ", "warning",{buttons: {}});
  		$("#regsub").replaceWith('<button type="submit" id="regsub" class="btn btn-primary btn-lg active" style="background-color: green;border-color: green"><i class="fa fa-bookmark fa-lg"></i>  注册</button>');
  	}else{
  		if($("#regDxyzm").val()==code){
  			//确保用户提交后没有再次改动电话
  			if(regphone==$("#phone").val()){
                //执行注册
  				//
  				if($("input[type='checkbox']").prop('checked')){
  					regUser($(e.target).serialize());
  				}else{
  					toastr.warning('您必须同意该网站的协议条款,才能完成注册！！！');
  				}
  			}else{
  				toastr.warning('请你不要改动你之前输入的手机号！！！');
  			}
  			
  		}else{
  			swal("短信验证码错误！！！"," ", "error",{buttons: {}});
  			$("#regsub").replaceWith('<button type="submit" id="regsub" class="btn btn-primary btn-lg active" style="background-color: green;border-color: green"><i class="fa fa-bookmark fa-lg"></i>  注册</button>');
  		}
  		
  	}
      return false;
 });
	
	 //注册
	 function regUser(user){
	    	$.ajax({
				url:"user/saveT",
				type:"post",
				data:user,
				success:function(data){
				 if(data == "success"){
					 regphone = ""
			  		 swal("用户注册成功。。。"," ", "success",{buttons: {}});
		    	     setTimeout('window.location = "model/showLogin"', 2000);	
				 }else{
					 swal("很遗憾!", "注册失败!", "error",{buttons: {}});
				 } 
				},
				error:function(){
					swal("服务器异常！！！"," ", "warning",{buttons: {}});
				} 
			});
	    }
	 
    //短信发送验证及发送
	$("#butdxyzm").click(function(){
		if($("#phone").val()!=""){
			if(/^1[34578]\d{9}$/.test($("#phone").val())){
				$.ajax({
					url:"user/checkPhone",
					type:"post",
					data:{"phone":$("#phone").val()},
					success:function(data){
					 if(data =="success"){
						 regphone = $("#phone").val();
						 sendMessage(120);
					 }else{
						 toastr.error('此手机号已被注册！！！');
					 } 
					},
					error:function(){
						toastr.warning('服务器有误,请联系管理员！！！');
					} 
				});
			}else{
				toastr.error('手机号格式不正确！！！');
			}
		}else{
			toastr.warning('手机号不能为空！！！');
		}
	});

    function sendMessage(count) {
        curCount = count;
        //产生验证码
        var icon = "";
        for (var i = 1; i < codeLength; i++) {
        	icon += parseInt(Math.random() * 9).toString();
        }
        code = icon;
        console.log("code="+code);
    
            //向后台发送处理数据
            $.ajax({
                type: "POST", //用POST方式传输
                url: 'user/sendCode', //目标地址
                data:{"code":code,"phone":$("#phone").val()},
                success: function (data){
                	if(data=="success"){
                		 toastr.success('短信验证码已成功发送。。。');
                      	 //设置button效果，开始计时
                         $("#butdxyzm").attr("disabled", "true");
                         $("#butdxyzm").val("请在" + curCount + "秒内输入验证码");
                         InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器，1秒执行一次
                	}else if(data=="interruptedError"){
                		toastr.warning('短信验证码发送过于频繁，请稍后再试！！！');
                	}else if(data=="interruptedError"){
                		toastr.warning('系统异常，请稍后再试！！！');
                	}else{
                		toastr.warning('验证码发送异常，请稍后再试！！！');
                	}
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                	 toastr.error('短信验证码发送失败！！！');
                }
            });
        }
	    //timer处理函数
	    function SetRemainTime() {
	        if (curCount == 0) {                
	            window.clearInterval(InterValObj);//停止计时器
	            $("#butdxyzm").removeAttr("disabled");//启用按钮
	            $("#butdxyzm").val("重新发送验证码");
	            code = ""; //清除验证码。如果不清除，过时间后，输入收到的验证码依然有效    
	        }
	        else {
	            curCount--;
	            $("#butdxyzm").val("请在" + curCount + "秒内输入验证码");
	        }
	    }
});